package com.shrcl.engineerprocess.domain;

import com.shrcl.engineerprocess.domain.Engineer;
import com.shrcl.engineerprocess.domain.EngineerWorkOrder;
import com.shrcl.engineerprocess.domain.EngineerWorkOrderStatus;
import com.shrcl.engineerprocess.domain.impl.EngineerWorkOrderCriteriaImpl;
import com.shrct.businessprocess.project.RCProject;
import edu.fudan.mylang.pf.query.IPagedCriteria;
import edu.fudan.mylang.pf.query.QueryImplementation;
import java.util.Collection;
import java.util.Date;

@QueryImplementation(implementBy = EngineerWorkOrderCriteriaImpl.class)
public interface EngineerWorkOrderCriteria extends IPagedCriteria<EngineerWorkOrder> {
  public abstract String getInfo();
  
  public abstract EngineerWorkOrderCriteria setInfo(final String info);
  
  public abstract Engineer getEngineer();
  
  public abstract EngineerWorkOrderCriteria setEngineer(final Engineer engineer);
  
  public abstract Collection<EngineerWorkOrderStatus> getMulstatus();
  
  public abstract EngineerWorkOrderCriteria setMulstatus(final Collection<EngineerWorkOrderStatus> mulstatus);
  
  public abstract Date getStartDate();
  
  public abstract EngineerWorkOrderCriteria setStartDate(final Date startDate);
  
  public abstract Date getEndDate();
  
  public abstract EngineerWorkOrderCriteria setEndDate(final Date endDate);
  
  public abstract RCProject getCbdProject();
  
  public abstract EngineerWorkOrderCriteria setCbdProject(final RCProject cbdProject);
  
  public abstract Engineer getManager();
  
  public abstract EngineerWorkOrderCriteria setManager(final Engineer manager);
}
